package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.Drinfo;
import com.ruoyi.system.domain.Reg;
import org.apache.ibatis.annotations.Param;

/**
 * 设备信息管理Mapper接口
 * 
 * @author yaozh
 * @date 2024-03-01
 */
public interface DrinfoMapper 
{
    List<Drinfo> findAllDrinfo(@Param("dbName")String dbName);

    Drinfo findDrByDrCode(@Param("dbName") String dbName,@Param("drCode") String drCode);

    /**
     * 保存/添加设备
     * @param dbName
     * @param drinfo
     * @return
     */
    int insertObject(@Param("dbName") String dbName, @Param("drinfo") Drinfo drinfo);

    /**
     * 修改设备信息
     * @param dbName
     * @param drinfo
     * @return
     */
    int updateObject(@Param("dbName") String dbName, @Param("drinfo") Drinfo drinfo);

    /**
     * 查询设备信息管理
     * 
     * @param drid 设备信息管理主键
     * @return 设备信息管理
     */
    public Drinfo selectDrinfoByDrid(@Param("drid") Long drid,@Param("dbName") String dbName);

    public Drinfo selectDrinfoByDrCode(@Param("drCode") String drCode, @Param("dbName") String dbName);

    /**
     * 查询设备信息管理列表
     * 
     * @param drinfo 设备信息管理
     * @return 设备信息管理集合
     */
    public List<Drinfo> selectDrinfoList(@Param("drinfo") Drinfo drinfo,@Param("dbName") String dbName);

    public List<Drinfo> selectByDrTypeId(@Param("drTypeId") Long drTypeId, @Param("dbName") String dbName);
    /**
     * 新增设备信息管理
     * 
     * @param drinfo 设备信息管理
     * @return 结果
     */
    public int insertDrinfo(@Param("drinfo") Drinfo drinfo,@Param("dbName") String dbName);

    /**
     * 修改设备信息管理
     * 
     * @param drinfo 设备信息管理
     * @return 结果
     */
    public int updateDrinfo(@Param("drinfo") Drinfo drinfo,@Param("dbName") String dbName);

    /**
     * 删除设备信息管理
     * 
     * @param drid 设备信息管理主键
     * @return 结果
     */
    public int deleteDrinfoByDrid(@Param("drid") Long drid,@Param("dbName") String dbName);

    /**
     * 批量删除设备信息管理
     * 
     * @param drids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDrinfoByDrids(@Param("drids") Long[] drids,@Param("dbName") String dbName);

    /**
     * 批量删除属性变量管理
     * 
     * @param drids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteRegByDrIds(@Param("drids") Long[] drids,@Param("dbName") String dbName);
    
    /**
     * 批量新增属性变量管理
     * 
     * @param regList 属性变量管理列表
     * @return 结果
     */
    public int batchReg(@Param("regList") List<Reg> regList,@Param("dbName") String dbName);
    

    /**
     * 通过设备信息管理主键删除属性变量管理信息
     * 
     * @param drId 设备信息管理ID
     * @return 结果
     */
    public int deleteRegByDrId(@Param("drId") Long drId,@Param("dbName") String dbName);

}
